<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:cote="http://java.sun.com/jsf/composite/componentes" xmlns:c="http://java.sun.com/jsp/jstl/core">


    <script type="text/javascript">
        function limpiarForm() {
            document.getElementById("formulario").reset();
        }
    </script>

    <ui:composition template="/plantillas/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <f:view>
                <h:form id="formulario">


                    <p:panel header="REGISTRO DE DOCUMENTO" style="width: 100%;margin: 10px auto">  

                        <p:panelGrid id="formSustentoMovimiento" style="width: 100%;margin: 10px auto" >
                            <p:row>
                                <p:column style="width:180px">
                                    <h:outputLabel id="lblTipoDocumento" value="TIPO DE DOCUMENTO(*): " styleClass="lblForm" />
                                </p:column>

                                <p:column style="width:180px">
                                    <p:selectOneMenu id="cbxTipoDocumento" style="width: 180px" required="false"
                                                     value="#{BKDocumentoSustentador.docSustentadorFormulario.tipoDocumento}">

                                        <f:selectItem itemLabel="Seleccionar" itemValue="0" />
                                        <f:selectItem itemLabel="Vale" itemValue="Vale" />
                                        <f:selectItem itemLabel="Ticket" itemValue="Ticket" />  
                                        <f:selectItem itemLabel="Boleta" itemValue="Boleta" />
                                        <f:selectItem itemLabel="Recibo por Honorarios" itemValue="Recibo por Honorarios" />
                                        <f:selectItem itemLabel="Factura" itemValue="Factura" />
                                        <f:selectItem itemLabel="Otros" itemValue="Otros" />  

                                        <p:ajax update="txtRucDni,txtRazonSocial,txtNumeroDocumento,cbxNumeroDocumento,txtFecEmisionRuc"
                                                listener="#{MBCajaChica.buscarFacturas()}" event="change"/>
                                    </p:selectOneMenu>
                                </p:column>                                                                       

                                <p:column style="width:180px">
                                    <h:outputLabel id="lblNumeroDocumento" value="Nº DE DOCUMENTO(*):" styleClass="lblForm" />
                                </p:column>

                                <p:column style="width:180px">
                                    <p:inputText id="txtNumeroDocumento" value="#{BKDocumentoSustentador.docSustentadorFormulario.numDocumento}" 
                                                 style="width: 160px" required="false" 
                                                 disabled="#{BKDocumentoSustentador.docSustentadorFormulario.tipoDocumento eq 'Factura'?true:false}"/>
                                </p:column> 

                                <p:column style="width:180px">
                                    <p:selectOneMenu id="cbxNumeroDocumento" style="width: 160px" required="true"
                                                     value="#{BKDocumentoSustentador.docSustentadorFormulario.numDocumento}"
                                                     disabled="#{BKDocumentoSustentador.docSustentadorFormulario.tipoDocumento eq 'Factura'?false:true}">

                                        <f:selectItem itemLabel="Seleccionar" itemValue="0" />
                                        <f:selectItems value="#{BKDocumentoSustentador.mostrarListaFacturas}" 
                                                       var="factura" itemLabel="#{factura.numeroFactura}" itemValue="#{factura.numeroFactura}"/>
                                        <p:ajax update="txtRucDni,txtRazonSocial,cbxMoneda,txtTipoCambio,txtMonto,calendarFechaSustentacion,txtFecEmisionRuc" 
                                                listener="#{MBCajaChica.cargarFactura()}" event="change" />

                                    </p:selectOneMenu>
                                </p:column>

                            </p:row>                                                                

                            <p:row>
                                <p:column>
                                    <h:outputLabel id="lblRucDni" value="RUC/DNI(*):" styleClass="lblForm" />
                                </p:column>	                            
                                <p:column>
                                    <p:inputText id="txtRucDni" value="#{BKDocumentoSustentador.docSustentadorFormulario.ruc}" 
                                                 disabled="true" 
                                                 style="width: 180px" required="true"/>
                                </p:column>  

                                <p:column>
                                    <h:outputLabel id="lblRazonSocial" value="RAZON SOCIAL/NOMBRE(*):" styleClass="lblForm" />
                                </p:column>	                            
                                <p:column>
                                    <p:inputText id="txtRazonSocial" value="#{BKDocumentoSustentador.docSustentadorFormulario.razonSocial}" 
                                                 disabled="true" 
                                                 style="width: 160px" required="true"/>
                                </p:column>                                                                                                                                                                                                                                                                                              
                            </p:row>     

                            <p:row>
                                <p:column>
                                    <h:outputLabel id="lblMoneda" value="MONEDA(*): " styleClass="lblForm" />
                                </p:column>

                                <p:column>
                                    <p:selectOneMenu id="cbxMoneda" style="width: 180px" required="false"
                                                     value="#{BKDocumentoSustentador.docSustentadorFormulario.moneda}"
                                                     disabled="#{BKDocumentoSustentador.docSustentadorFormulario.tipoDocumento 
                                                                 eq 'Factura'?true:false}">

                                        <f:selectItem itemLabel="Seleccionar" itemValue="0" />
                                        <f:selectItem itemLabel="NUEVOS SOLES" itemValue="NUEVOS SOLES" />
                                        <f:selectItem itemLabel="DOLARES AMERICANOS" itemValue="DOLARES AMERICANOS" />  

                                        <p:ajax update="txtTipoCambio"/>  
                                    </p:selectOneMenu>
                                </p:column>

                                <p:column>
                                    <h:outputLabel id="lblTipoCambio" value="TIPO DE CAMBIO(*): " styleClass="lblForm" />
                                </p:column>

                                <p:column>
                                    <p:inputText id="txtTipoCambio" value="#{BKDocumentoSustentador.docSustentadorFormulario.tipoCambio}" 
                                                 style="width: 160px" required="false" rendered="true"
                                                 disabled="#{BKDocumentoSustentador.docSustentadorFormulario.moneda 
                                                             eq 'NUEVOS SOLES' 
                                                             or BKDocumentoSustentador.docSustentadorFormulario.moneda eq null? true:false}"/>
                                </p:column>    

                            </p:row>

                            <p:row>  
                                <p:column>
                                    <h:outputLabel id="lblMonto" value="MONTO CONSUMIDO(*): " styleClass="lblForm" />
                                </p:column>	                            
                                <p:column>
                                    <p:inputText id="txtMonto" value="#{BKDocumentoSustentador.docSustentadorFormulario.total}" 
                                                 style="width: 180px" required="false"
                                                 disabled="#{BKDocumentoSustentador.docSustentadorFormulario.tipoDocumento 
                                                             eq 'Factura'?true:false}">
                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2"  groupingUsed="true"
                                                         />
                                    </p:inputText>
                                </p:column>

                                <p:column>
                                    <h:outputLabel id="lblFechaSustentacion" value="FECHA DE SUSTENTACION(*): " styleClass="lblForm" />
                                </p:column>       

                                <p:column>
                                    <p:calendar id="calendarFechaSustentacion" value="#{BKDocumentoSustentador.docSustentadorFormulario.fechaSustentacion}" 
                                                pattern="dd/MM/yyyy" required="false" style="width:200px" mindate="#{BKMovimientoCajaChica.movCajaChicaSeleccionado.fechaSolicitud}"
                                                showOn="button" showButtonPanel="true" navigator="true" size="12" locale="es">
                                        <p:ajax event="dateSelect"/>
                                    </p:calendar>
                                    <p:message for="calendarFechaSustentacion"/>
                                </p:column>                                                                        
                            </p:row>    

                            <p:row>
                                <p:column >
                                    <h:outputLabel id="lblFecEmisionRuc" value="FECHA DE EMISION RUC: " styleClass="lblForm" />
                                </p:column> 
                                <p:column >
                                    <p:inputText id="txtFecEmisionRuc" value="#{BKDocumentoSustentador.docSustentadorFormulario.fecEmisionRuc}" 
                                                 style="width: 160px" required="true" 
                                                 disabled="true">
                                        <f:convertDateTime pattern="dd/MM/yyyy" />
                                    </p:inputText>
                                </p:column>

                                <p:column>
                                    <h:outputLabel id="lblObservacion" value="OBSERVACION: " styleClass="lblForm" />
                                </p:column> 
                                <p:column>                                       
                                    <p:inputTextarea id="txtDescripcion" onkeyup="cambiarMayuscula(this)" required="false" rows="7" cols="20" 
                                                     value="#{BKDocumentoSustentador.docSustentadorFormulario.observacion}"/>     

                                </p:column>                                    
                            </p:row>

                            <p:row>                       
                                <p:column style="text-align:left" styleClass="280px">
                                    <h:outputText value="POR RENDIR: " styleClass="lblForm"/>          

                                </p:column>
                                <p:column style="text-align:center" styleClass="280px">
                                    <h:outputText id="lblSaldoAjax" value="#{BKMovimientoCajaChica.movCajaChicaSeleccionado.saldo}">
                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2"  groupingUsed="false"/>
                                    </h:outputText>

                                </p:column>                            
                                <p:column style="text-align:right">
                                    <p:commandButton id="btnAgregarDocumentoSustentatorio" actionListener="#{MBCajaChica.guardarDocumentoSustentador()}"  
                                                     icon="ui-icon-plus" value="AGREGAR DOCUMENTO" disabled="#{BKMovimientoCajaChica.movCajaChicaSeleccionado.estadoMovimiento == 'C'?true:false}"
                                                     update="dataTablaDocumentoSustento,lblSaldoAjax,formSustentoMovimiento" 
                                                     ajax="true">                                                                                                                                                                                  
                                    </p:commandButton>
                                </p:column>
                            </p:row>	
                        </p:panelGrid>                                     

                        <p:panel id="pnlListarDocSustentadores"
                                 header="DOCUMENTOS QUE SUSTENTAN EL MOVIMIENTO" widgetVar="listaDocSustentador" rendered="true">
                            <p:dataTable id="dataTablaDocumentoSustento" var="documentoSustento" rendered="true"
                                         value="#{BKDocumentoSustentador.listaTodosDocumentosSustentadores}"
                                         emptyMessage="No se encontraron documentos sustentatorios disponibles"
                                         filteredValue="" rowIndexVar="rowIndex" paginator="true" rows="10"
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
                                         {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                         rowsPerPageTemplate="4,8,12">

                                <p:column id="idColumnaNum" style="width: 2%" headerText="Item">
                                    <h:outputText value="#{rowIndex+1}" />
                                </p:column>

                                <p:column id="idColumnaTipoDocumento" style="width: 13%;" sortBy="#{documentoSustento.tipoDocumento}" 
                                          headerText="Tipo Documento">
                                    <h:outputText value="#{documentoSustento.tipoDocumento}" />
                                </p:column>

                                <p:column id="idColumnaRucDni" style="width: 10%;"
                                          sortBy="#{documentoSustento.rucVendedor}" headerText="RUC/DNI">
                                    <h:outputText value="#{documentoSustento.rucVendedor}" />
                                </p:column>

                                <p:column id="idColumnaNroDocumento" style="width: 10%;" headerText="Nro. de Documento">
                                    <h:outputText value="#{documentoSustento.numDocumento}" />
                                </p:column>                               

                                <p:column id="idColumnaMonto" style="width: 10%;"
                                          sortBy="#{documentoSustento.total}" headerText="Monto">
                                    <h:outputText value="#{documentoSustento.total}">
                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2"  groupingUsed="false"  />
                                    </h:outputText>
                                </p:column>

                                <p:column id="idColumnaMoneda" style="width: 10%;text-align: center"
                                          sortBy="#{documentoSustento.moneda}" 
                                          headerText="Moneda">
                                    <h:outputText value="#{documentoSustento.moneda}" />
                                </p:column>

                                <p:column id="idTipoCambio" style="width: 10%;text-align: center"
                                          sortBy="" 
                                          headerText="Tipo Cambio">
                                    <h:outputText value="#{documentoSustento.tipoCambio}">
                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2"  groupingUsed="false"  />
                                    </h:outputText>
                                </p:column>

                                <p:column id="idColumnaFechaConsumo" style="width: 10%;text-align: center"
                                          sortBy="#{documentoSustento.fechaSustentacion}" headerText="Fecha de Sustento">
                                    <h:outputText value="#{documentoSustento.fechaSustentacion}">
                                        <f:convertDateTime pattern="dd/MM/yyyy" />
                                    </h:outputText>
                                </p:column>

                                <p:column id="idColumnaObservacion" style="width: 15%" headerText="Observación">
                                    <h:outputText value="#{documentoSustento.observacion}" />
                                </p:column>                                

                                <p:column id="idAccionesDocumentoSustentador" headerText="#{message['general.label.tipoAcesso']}" exportable="false"
                                          style="width: 10%">
                                    <center> 
                                        <p:commandButton id="btnEliminarDocumentoSustentatorio" 
                                                         title="#{message['general.button.eliminar']}" value="Eliminar"                                                    
                                                         oncomplete="confirmacion.show()" disabled="#{BKMovimientoCajaChica.movCajaChicaSeleccionado.estadoMovimiento eq 'C'?true:false}"
                                                         icon="ui-icon-trash" >
                                            <f:setPropertyActionListener value="#{documentoSustento}" target="#{BKDocumentoSustentador.docSustentadorSeleccionado}"/>
                                        </p:commandButton>
                                    </center>
                                </p:column>

                            </p:dataTable>                                    
                        </p:panel> 

                        <p:confirmDialog id="dlgEliminarDocSustentador" message="¿Esta seguro que desea eliminar el documento?" 
                                         header="#{message['dialog.confirmacion.header']}" severity="alert" widgetVar="confirmacion">

                            <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                                <p:commandButton id="btnConfEliDocSustentador"  value="Si" update="dataTablaDocumentoSustento,lblSaldoAjax" oncomplete="confirmacion.hide()"
                                                 actionListener="#{MBCajaChica.eliminarDocumentoSustentador}" ajax="true">                                            

                                </p:commandButton>

                                <p:commandButton id="btnCancEliDocSustentador" value="No" 
                                                 onclick="confirmacion.hide()">                                          
                                </p:commandButton>
                            </h:panelGrid>

                        </p:confirmDialog>

                        <p:confirmDialog id="dlgCerrarMovmiento" message="El movimiento no presenta ningun documento que lo sustente. ¿ Desea cerrar de todas formas ?" 
                                         header="Cerrar Movimiento" severity="alert" widgetVar="confMov">

                            <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                                <p:commandButton id="btnConfCerrarMov" value="Si" oncomplete="confMov.hide()"
                                                 action="#{MBCajaChica.cerrarMovimiento()}"/>                                                                                                     

                                <p:commandButton id="btnCancCerrarMov" value="No" 
                                                 onclick="confMov.hide()">                                          
                                </p:commandButton>
                            </h:panelGrid>

                        </p:confirmDialog>

                        <p:confirmDialog id="dlgCerrarMovmiento2" message="¿Esta seguro de cerrar el movimiento?" 
                                         header="Cerrar Movimiento" severity="alert" widgetVar="confCerrarMov">

                            <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                                <p:commandButton id="btnConfCerrarMov2" value="Si" oncomplete="confCerrarMov.hide()"
                                                 action="#{MBCajaChica.cerrarMovimiento()}" ajax="false"/>                                                                                                       

                                <p:commandButton id="btnCancCerrarMov2" value="No" 
                                                 onclick="confCerrarMov.hide()">                                          
                                </p:commandButton>
                            </h:panelGrid>

                        </p:confirmDialog>


                    </p:panel>
                    <center>                
                        <h:panelGrid columns="3" cellpadding="10">

                            <p:commandButton id="btnCerrarMovimiento2" ajax="true" oncomplete="#{BKDocumentoSustentador.listaTodosDocumentosSustentadores.size()==0 ?'confMov.show()':'confCerrarMov.show()'}"
                                             value="Cerrar Movimiento"  title="Cerrar Movimiento" 
                                             disabled="#{BKMovimientoCajaChica.movCajaChicaSeleccionado.estadoMovimiento == 'C'?true:false}"/>

                            <p:commandButton id="btnCancelar" action="#{MBCajaChica.cancelarSustentoMovimiento}" ajax="false" 
                                             value="Cancelar" title="#{message['general.button.cancelar']}"  immediate="true"/>

                        </h:panelGrid>                  
                    </center> 

                    <h:panelGrid styleClass="mensaje_obligatorio">(*) Campos Requeridos</h:panelGrid>

                </h:form> 
            </f:view>      
        </ui:define>
    </ui:composition>
</html>
